package com.xyz.code.builder;

import com.xyz.code.bean.MetaDataBean;

public abstract class AbstractBuilder implements IBuilder {
	protected MetaDataBean bean = null;

	public abstract void builder();

	@Override
	public String getServiceBean() {
		return bean.getServiceBean();
	}

	public String getFacadeBean() {
		return bean.getFacadeBean();
	}

	@Override
	public String getClassName() {
		return bean.getClassName();
	}

	public String getExtEntityBaseClassNamePackage() {
		return bean.getExtEntityBaseClassNamePackage();
	}

	public String getExtVoBaseClassNamePackage() {
		return bean.getExtVoBaseClassNamePackage();
	}

	public String getExtIServiceBaseClassNamePackage() {
		return bean.getExtIServiceBaseClassNamePackage();
	}

	public String getExtServiceBaseImplClassNamePackage() {
		return bean.getExtServiceBaseImplClassNamePackage();
	}

	public String getExtIRepositoryBaseClassNamePackage() {
		return bean.getExtIRepositoryBaseClassNamePackage();
	}

	public String getExtRepositoryBaseImplClassNamePackage() {
		return bean.getExtRepositoryBaseImplClassNamePackage();
	}

	public String getExtIFacadeBaseClassNamePackage() {
		return bean.getExtIFacadeBaseClassNamePackage();
	}

	public String getExtFacadeBaseImplClassNamePackage() {
		return bean.getExtFacadeBaseImplClassNamePackage();
	}

	public String getDtoBaseClassName() {
		return bean.getDtoBaseClassName();
	}

	public String getDtoBaseClassPackage() {
		return bean.getDtoBaseClassPackage();
	}

	@Override
	public String getEntityName() {
		return bean.getEntityName();
	}

	@Override
	public String getPkType() {
		if (bean.getPkAttrInfo() != null) {
			return bean.getPkAttrInfo().getJavaType();
		}
		return "Long";
	}

	@Override
	public String getPkAttr() {
		if (bean.getPkAttrInfo() != null) {
			return bean.getPkAttrInfo().getFiledName();
		}
		return "";
	}

	@Override
	public String getTableName() {
		return bean.getTableName();
	}

	@Override
	public String getBasePackage() {
		return bean.getBasePackage();
	}

	@Override
	public String getZxPackage() {
		return bean.getZxPackage();
	}

	@Override
	public String getModName() {
		return bean.getModName();
	}

	public abstract String getBaseDir();

	public abstract String getTemplate();

	public String getExtEntityBaseClassName() {
		return bean.getExtEntityBaseClassName();
	}

	public String getExtVoBaseClassName() {
		return bean.getExtVoBaseClassName();
	}

	public String getExtIServiceBaseClassName() {
		return bean.getExtIServiceBaseClassName();
	}

	public String getExtServiceBaseImplClassName() {
		return bean.getExtServiceBaseImplClassName();
	}

	public String getExtIRepositoryBaseClassName() {
		return bean.getExtIRepositoryBaseClassName();
	}

	public String getExtRepositoryBaseImplClassName() {
		return bean.getExtRepositoryBaseImplClassName();
	}

	public String getExtIFacadeBaseClassName() {
		return bean.getExtIFacadeBaseClassName();
	}

	public String getExtFacadeBaseImplClassName() {
		return bean.getExtFacadeBaseImplClassName();
	}

	public String getEntityPackage() {
		return bean.entityPackage;
	}

	public String getFacadePackage() {
		return bean.facadePackage;
	}

	public String getRepoPackage() {
		return bean.repoPackage;
	}

	public String getServicePackage() {
		return bean.servicePackage;
	}

	public String getPackagePath() {
		return bean.packagePath;
	}

	public String getShardingBean() {
		return bean.getShardingBean();
	}

}
